package core;


import java.io.File;





public class TestSystem {
	
	  
	

	public static void main(String[] args) {
		
		//N-gram de longitud 5
		String mainSentence5 = "la famosa serie animada";
		String[] ngram_5 = mainSentence5.split(" ");
		int lengthNgram5 = ngram_5.length+1;
		
		//N-gram de longitud 4
		String mainSentence4 = "la famosa serie animada";
		String[] ngram_4 = mainSentence4.split(" ");
		int lengthNgram4 = ngram_4.length+1;
		
		 String[] charsetsToBeTested = {"UTF-8", "windows-1253", "ISO-8859-7","Windows-1251","GB2312","ISO-8859-1","ISO-8859-2","Windows-1252"};
		 
		 CharsetDetector cd = new CharsetDetector();
		 ConvertPdfToTxt convert = new ConvertPdfToTxt();       
	       
	       
	       //List the Directories
	       File root = new File("corpus");
	       
	       //TODO DEBUG
	       //File[] directories =root.listFiles();
	       
	       /*for(int i=0;i<directories.length;i++){
	    	   File[] files = directories[i].listFiles();
	    	   if(i==1)
	    		   break;
	    	   for(int j=0;j<files.length;j++){
	    		   //Files
	    		   Charset charset = cd.detectCharset(files[j], charsetsToBeTested);
	    		   
	    		   System.out.println("LISTA DE ARCHIVOS: "+files[j].getPath());
	    		   
	    	      
	    		   if(charset==null){   		    	       
	    	    	   
	    	    	   if(files[j].length()==0){
	    	    		   System.out.println(files[j].getName());
	    	    		//The file is empty
	    	    		   files[j].delete();
	    	    	   }
	    	    	   
	    	       }
	    		   else{
	    			   
	    			   if(convert.isPDF(files[j].getPath())){
    	    			   try {
    	    				   //TODO
    	    				   System.out.println("Archivos PDF: "+files[j].getName());
							convert.parsePdf(files[j].getPath(), files[j].getPath()+"pdf");
							files[j].delete();
							
							
						} catch (IOException e) {
							System.out.println("FALLO AL CONVERTIR DE PDF A TXT");
						}
    	    			   
    	    			     	    			   
    	    			   
    	    			   
    	    		   }
	    		   }
	    		   
	    	   }
	       }*/
	    
	       
		
	    //TODO CARTOONS
		/*Cartoons personaje = new Cartoons();
		try {
			personaje.collectCartoons("series");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}*/
		
		 //TODO PARTE DE BÃšSQUEDA
		/*ManagerFile managerFile = new ManagerFile();
		//File bart = new File("corpus/doraemon2.txt");
		managerFile.processCorpus(root);*/
		
		//TODO PARTE DE PROCESADO MLE DE LONGITUD 5
		System.out.println("MLE DE LONGITUD 5");
		File dirCorpus = new File("corpusMLE");
		File fCartoons = new File("cartoons/cartoonsSelected.txt");
		/*MLE mle = new MLE();
		try {
			mle.countNGram(dirCorpus,fCartoons);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			System.out.println("ERROR EN PROCESAMIENTO GENERAL NGRAM");
		} catch (IOException e) {
			
			e.printStackTrace();
		}
		
		//TODO EL CÁLCULO DEL MLE DE LONGITUD 5
		mle.calculateMLE();*/
	      
		//TODO SMOOTHING
		/*Smoothing smoothing = new Smoothing(lengthNgram5, mainSentence5);
	 
		try {
			smoothing.interpolationSmoothing(dirCorpus, fCartoons, mainSentence5);
			//smoothing.mostrarReps();
		} catch (IOException e) {
			e.printStackTrace();
		}
		smoothing.calculateProbInterpolation();*/
		//smoothing.mostrarProbs();
		
		//TODO CÁLCULO DEL MLE DE LONGITUD 4
		/*System.out.println("MLE DE LONGITUD 4");
		MLE mle4 = new MLE("animada");
		try {
			mle4.countNGram(dirCorpus,fCartoons);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			System.out.println("ERROR EN PROCESAMIENTO GENERAL NGRAM");
		} catch (IOException e) {
			
			e.printStackTrace();
		}
		
		//TODO EL CÁLCULO DEL MLE DE LONGITUD 4
		mle4.calculateMLE();*/
		

	}

}
